const path = require('path');
const fs = require('fs');
const {execSync} = require('child_process');

function deleteFile(filePath) {
  try {
    if (fs.existsSync(filePath)) {
      fs.unlinkSync(filePath);
      console.log(`🗑️ 已删除文件: ${filePath}`);
    }
  } catch (error) {
    console.error(`❌ 删除文件失败 ${filePath}:`, error);
  }
}

// 下载并处理字体文件
fetch('http://test-monitoring.tsun-ess.com/api/admin/font-img/download/app', {
  method: 'GET',
})
  .then(res => res.arrayBuffer())
  .then(async buffer => {
    // 保存zip文件
    fs.writeFileSync('app.zip', Buffer.from(buffer));
    console.log('✅ ZIP文件下载完成');

    const targetPath = path.resolve(process.cwd(), 'iconfont');

    // 确保目标目录存在
    if (!fs.existsSync(targetPath)) {
      fs.mkdirSync(targetPath, {recursive: true});
    }

    // 使用系统unzip命令解压文件
    try {
      execSync(`unzip -o app.zip -d ${targetPath}`);
      console.log('✅ ZIP文件解压完成');
    } catch (error) {
      console.error('❌ 解压失败:', error);
      return;
    }

    // 删除zip文件
    deleteFile('app.zip');

    console.log('✅ 清理完成');
  })
  .catch(error => {
    console.error('❌ 处理过程中出错:', error);
  });
